課程資訊
課程名稱
演算法
Algorithms 
開課學期
105-1 
授課對象
電機資訊學院  電機工程學系  
授課教師
張耀文 
課號
EE4033 
課程識別碼
901 39000 
班次
 
學分
全/半年
半年 
必/選修
選修 
上課時間
星期四7,8,9(14:20~17:20) 
上課地點
博理112 
備註
總人數上限:80人 
Ceiba 課程網頁
http://ceiba.ntu.edu.tw/1051EE4033_alg 
課程簡介影片
 
核心能力關聯
核心能力與課程規劃關聯圖
課程大綱
為確保您我的權利,請尊重智慧財產權及不得非法影印
課程概述

Course Contents: Topics include

• Algorithmic fundamentals: mathematical foundations, growth of functions, recurrences (6 hrs)

• Sorting and order statistics (5 hrs)

• Data structures: heap, binary search trees, RB trees, disjoint sets (4 hrs)

• Advanced design and analysis techniques: dynamic programming, greedy algorithms, amortized analysis (9 hrs)

• Graph algorithms: graph representations, searching, minimum spanning trees, shortest paths, matching, network flow (14 hrs)

• NP-completeness, computational complexity, and approximation algorithms (7 hrs)

• General-purpose algorithms: branch and bound, simulated annealing, and computational geometry, as time permits. 

課程目標
Course Objective: Focuses on the design and analysis of algorithms and their applications, and develops problem-solving techniques. 
課程要求
Prerequisites: data structures (or discrete mathematics).

Six homework assignments (+ in-class quizzes) 30%,
three mini programming assignments 20%,
two in-class tests 50%,
and bonuses for class participation. 
預期每週課後學習時數
 
Office Hours
每週三 12:30~13:30
每週二 17:00~18:00 備註: 每週二 5pm-6pm: 教師時間 (博理館 428 室); 每週三 12:30pm-1:30pm: 助教 時間 (博理館 406 室) 
指定閱讀
 
參考書目
教科書: T. H. Cormen, C. E. Leiserson, R. L. Rivest, and C. Stein,
Introduction to Algorithms, 3rd Ed.,
MIT Press/McGraw Hill, 2009.
ISBN: 0-262-03384-4 / 978-0-262-53305-8 
評量方式
(僅供參考)
 
No.
項目
百分比
說明
1. 
Homework assignments + in-class quizzes 
30% 
Six homework assignments (+ in-class quizzes to be held on the due dates) 
2. 
Programming assignments 
20% 
three mini programming assignments 20% (all submissions will be subject to duplication checking; those with 40% similarity will be penalized ) 
3. 
Midterm  
20% 
in-class test (November 10: 20%) 
4. 
Final exam 
30% 
in-class test (January 12: 30%) 
5. 
Bonus 
0% 
bonuses for class participation 
6. 
Attention 
0% 
Attention: The grades on homework, programming assignments, and tests are considered final one week after they have been handed back, so you should bring any questions to the grader’s attention promptly. 
 
課程進度
週次
日期
單元主題
第1週
9/15  Mid-Autumn Festival 
第2週
9/22  mathematical foundations, growth of functions 
第3週
9/29  recurrences, sorting 
第4週
10/06  Sorting  
第5週
10/13  Sorting, order statistics, heap 
第6週
10/20  binary search trees, RB trees 
第7週
10/27  dynamic programming 
第8週
11/03  dynamic programming, greedy algorithms 
第9週
11/10  Midterm 
第10週
11/17  greedy algorithms, amortized analysis 
第11週
11/24  graph representations, searching 
第12週
12/01  disjoint sets, minimum spanning trees 
第13週
12/08  shortest paths
 
第14週
12/15  shortest paths, network flow 
第15週
12/22  network flow, matching, computational complexity 
第16週
12/29  NP-completeness 
第17週
1/05  NP-completeness, approximation algorithms 
第18週
1/12  Final exam